Method for image-based status determination

ABSTRACT

Methods, systems, computer-readable media, and apparatuses for image-based status determination are presented. In some embodiments, a method includes capturing at least one image of a moving path. At least one feature within the at least one image is analyzed and based on the analysis of the at least one feature, a direction of movement of the moving path is determined. In some embodiments, a method includes capturing an image of an inclined path. At least one feature within the image is analyzed and based on analysis of the at least one feature, a determination is made whether the image was captured from a top position relative to the inclined path or a bottom position relative to the inclined path.

BACKGROUND

Aspects of the disclosure relate to determining motion direction.

Increasingly, computing devices, such as smart phones, tablet computers,personal digital assistants (PDAs), and other devices, are capable ofreceiving location-based services (LBS). Location-based services are ageneral class of computer program-level services used to includespecific controls for location and time data as control features incomputer programs. As such, LBS provide information and have a number ofuses in social networking today as, for example, an entertainmentservice accessible with mobile devices via mobile networks. LBStypically use geographical positional information of the mobile deviceto deliver content.

As an example of LBS, augmented reality (AR) ads may be placed at movingpaths (e.g., an escalator, elevator, or moving sidewalk) within view ofa camera on a mobile device. For example, AR ads may be placed along anescalator at a shopping mall, along a moving sidewalk at an airport,etc. Other examples may include handheld navigation on a mobile devicedirecting a user at a moving path (e.g., an escalator) to either go upor down, or for scene parsing for robot vision. These examples mayassist the vision impaired. However, a challenge exists in determiningthe motion direction of the moving path for purposes of placing AR ads,which may depend on the direction, in the appropriate locations at themoving path.

Embodiments of the invention provide improved techniques to addressthese problems.

BRIEF SUMMARY

These problems and others may be solved according to embodiments of thepresent invention, described herein. Embodiments of the invention solveproblems associated with determining motion direction of a moving pathand determining a location of a user relative to an inclined path.

Computer vision technologies may be used to detect attributes of aperson(s) in relation to a moving path on an image captured by an imagecapture device. Typically, people standing on a moving path tend to facethe same direction that the moving path is moving. As such, facedetection technologies may be used to determine the direction of themoving path relative to the image capture device. A detected face of aperson may be used to determine the forward direction of the moving(e.g., whether the moving path is travelling toward the image capturedevice or away from the image capture device). A profile of a person'sface may also be used to determine the forward direction of the movingpath.

In addition, the direction of the moving path may also be determinedbased on optical flow or feature matching to analyze adjacent frames inimages or video captured by the image capture device. The location ofthe image capture device relative to an inclined path may also bedetermined (e.g. whether the image is captured from the top or bottom ofa stairway or escalator). Contextual information such as viewing angles,from the point of view of the image capture device, of static itemsalong the inclined path (e.g., picture frames on a wall adjacent to theinclined path) may also be used to make the determination.

Furthermore, a person's speed of motion on the moving path may bedetermined by tracking changes over time of the person(s) detectedfaces. All the mentioned techniques may be used in combination forinferring motion direction of the moving path, speed of the moving path,and relative position of an image capture device to an inclined path.

In some embodiments, a method for image-based status determinationincludes capturing at least one image of a moving path. The methodfurther includes analyzing at least one feature within the at least oneimage. The method further includes, based on analysis of the at leastone feature, determining a direction of movement of the moving path.

In some embodiments, the at least one feature comprises a body part of aperson on the moving path.

In some embodiments, the at least one feature comprises an objectadjacent to the moving path.

In some embodiments, the method further includes tracking and comparingthe at least one feature between a plurality of the images.

In some embodiments, the method further includes displaying anadvertisement along the moving path within a representation of thecaptured image based on the determined direction of movement of themoving path.

In some embodiments, the method further includes displaying navigationdirections on a mobile device based on the determined direction ofmovement of the moving path.

In some embodiments, an apparatus for image-based status determinationincludes an image capture device coupled to a processor. The imagecapture device is configured to capture at least one image of a movingpath. The processor is configured to analyze at least one feature withinthe at least one image. The processor is further configured to, based onanalysis of the at least one feature, determine a direction of movementof the moving path.

In some embodiments, an apparatus for image-based status determinationincludes means for capturing at least one image of a moving path. Theapparatus further includes means for analyzing at least one featurewithin the at least one image. The apparatus further includes means for,based on analysis of the at least one feature, determining a directionof movement of the moving path.

In some embodiments, a processor-readable medium comprisingprocessor-readable instructions configured to cause a processor tocapture an image of an inclined path. The instructions are furtherconfigured to cause the processor to analyze at least one feature withinthe image. The instructions are further configured to cause theprocessor to, based on analysis of the at least one feature, determine adirection of movement of the moving path.

In some embodiments, a method for image-based status determinationincludes capturing an image of an inclined path. The method furtherincludes analyzing at least one feature within the image. The methodfurther includes, based on analysis of the at least one feature,determining whether the image was captured from a top position relativeto the inclined path or bottom position relative to the inclined path.

In some embodiments, the determining step comprises detecting an objectadjacent to the inclined path and determining an angle of the objectwith respect to a horizon line.

In some embodiments, the method further includes determining a tiltangle of a device used to capture the image, and wherein determinationof whether the image was from a top position or bottom position isfurther based on the tilt angle.

In some embodiments, the method further includes displaying anadvertisement along the inclined path within a representation of thecaptured image based on the determined position from where the image wascaptured.

In some embodiments, the method further includes displaying navigationdirections on a mobile device based on the determined position fromwhere the image was captured.

In some embodiments, an apparatus for image-based status determinationincludes an image capture device coupled to a processor. The imagecapture device is configured to capture an image of an inclined path.The processor is configured to analyze at least one feature within theimage. The processor is further configured to, based on analysis of theat least one feature, determine whether the image was captured from atop position relative to the inclined path or bottom position relativeto the inclined path.

In some embodiments, an apparatus for image-based status determinationincludes means for capturing an image of an inclined path. The apparatusfurther includes means for analyzing at least one feature within theimage. The apparatus further includes means for, based on analysis ofthe at least one feature, determining whether the image was capturedfrom a top position relative to the inclined path or bottom positionrelative to the inclined path.

In some embodiments, a processor-readable medium comprisingprocessor-readable instructions configured to cause a processor tocapture an image of an inclined path. The instructions are furtherconfigured to cause the processor to analyze at least one feature withinthe image. The instructions are further configured to cause theprocessor to, based on analysis of the at least one feature, determinewhether the image was captured from a top position relative to theinclined path or bottom position relative to the inclined path.

BRIEF DESCRIPTION OF THE DRAWINGS

Aspects of the disclosure are illustrated by way of example. In theaccompanying figures, like reference numbers indicate similar elements,and:

FIG. 1 illustrates a simplified block diagram of a mobile device thatmay incorporate one or more embodiments;

FIG. 2 illustrates augmented reality advertisements placed along amoving path, in accordance with some embodiments;

FIG. 3 illustrates inferring motion direction of a moving path by usingface detection, in accordance with some embodiments;

FIG. 4 illustrates inferring motion direction of a moving path by usingface detection from a side profile, in accordance with some embodiments;

FIG. 5 illustrates inferring motion direction of a moving path by usingoptical flow or feature tracking, in accordance with some embodiments;

FIGS. 6A-6B illustrate inferring a position of a user relative to aninclined path by using contextual information, in accordance with someembodiments;

FIG. 7 illustrates inferring a location of a user in relation to aninclined path by using tilt detection, in accordance with someembodiments;

FIG. 8 is an exemplary flowchart describing a method for determining adirection of movement of a moving path, in accordance with someembodiments;

FIG. 9 is an exemplary flowchart describing a method for determining alocation of a user relative to an inclined path, in accordance with someembodiments; and

FIG. 10 illustrates an example of a computing system in which one ormore embodiments may be implemented.

DETAILED DESCRIPTION

Several illustrative embodiments will now be described with respect tothe accompanying drawings, which form a part hereof. While particularembodiments, in which one or more aspects of the disclosure may beimplemented, are described below, other embodiments may be used andvarious modifications may be made without departing from the scope ofthe disclosure or the spirit of the appended claims.

FIG. 1 illustrates a simplified block diagram of a mobile device 100that may incorporate one or more embodiments. Mobile device 100 includesa depth sensor 120, display 130, input device 140, speaker 150, memory160, accelerometer 170, and camera 180.

Processor 110 may be any general-purpose processor operable to carry outinstructions on the mobile device 100. The processor 110 is coupled toother units of the mobile device 100 including depth sensor 120, display130, input device 140, speaker 150, memory 160, accelerometer 170,camera 180, and computer-readable medium 190.

Depth sensor 120 is a sensor within mobile device 100 operable fordetermining depth calculations within a still or continuous imagecaptured by camera 180. The depth sensor 120 may include an infraredlaser projector combined with a complementary metal-oxide-semiconductor(CMOS) sensor which in combination work together to “see” a physicalenvironment captured in the image regardless of lighting conditions. Insome embodiments, depth sensor 120 may be internal to camera 180.

Display 130 may be any device that displays information to a user.Examples may include an LCD screen, CRT monitor, or seven-segmentdisplay.

Input device 140 may be any device that accepts input from a user.Examples may include a keyboard, keypad, or mouse. In some embodiments,camera 180 may be considered an input device 140.

Speaker 150 may be any device that outputs sound to a user. Examples mayinclude a built-in speaker or any other device that produces sound inresponse to an electrical audio signal. In some embodiments, speaker 150may be used to provide an audio cue corresponding to an augmentedreality advertisement.

Memory 160 may be any magnetic, electronic, or optical memory. Memory160 includes two memory modules, module 1 162 and module 2 164. It canbe appreciated that memory 160 may include any number of memory modules.An example of memory 160 may be dynamic random access memory (DRAM).

Accelerometer 170 is a device configured to sense movement and gravity.Accelerometer 170 may be used to calculate a tilt angle and orientationof the mobile device 100.

Camera 180 is an image capture device configured to capture images.Camera 180 may capture either still images or continuous images (video).In some embodiments, camera 180 may include depth sensor 120.

Computer-readable medium 190 may be any magnetic, electronic, optical,or other computer-readable storage medium. Computer-readable storagemedium 190 includes path detection module 192, face detection module193, context detection module 194, optical flow module 195, tiltdetection module 196, and inference module 197.

Path detection module 192 is configured to detect a moving path orinclined path in an image within camera 180 view of the mobile device100. Path detection module 192 may analyze the image within the camera180 view and determine whether a moving path or inclined path is presentwithin the image. Path detection module 192 may make use of depth sensor120 and accelerometer 170 in making this determination. Objects withinthe image may be analyzed using object recognition technologies todetermine their object type. Once path detection module 192 detects amoving path in the image, path detection module 192 may communicate withface detection module 193, context detection module 194, optical flowmodule 195, tilt detection module 196, and inference module 197 to infermotion direction of the moving path.

Face detection module 193 is configured to identify a person's face froman image within camera 180 view of the mobile device 100. Face detectionmodule 193 is able to detect facial features from the image and trackthe identified face(s) to determine a person(s) direction along themoving path. Face detection module 193 may communicate with inferencemodule 197 to determine a direction and speed of the moving path basedon the detected face(s).

Context detection module 194 is configured to analyze contextualinformation from an image within camera 180 view of the mobile device100. Context information may include picture frames or other objectsalong a moving path that may be analyzed. The context detection module194 may communicate with inference module 197 to determine a relativelocation of a user of the mobile device 100 to a moving path or inclinedpath.

Optical flow module 195 is configured to analyze adjacent frames incontinuous images (video) within camera 180 view of the mobile device100. Optical flow module 195 may communicate with inference module 197to determine direction of the moving path based on the analyzed adjacentframes. For example, it may be determined whether the moving path ismoving in a direction toward or away from the user of the mobile device100.

Tilt detection module 196 is operable to determine a tilt angle of themobile device 100. Tilt detection module 196 may receive movement andgravity data from accelerometer 170. The received data may be used todetermine an angle at which the user is holding the mobile device 100.Tilt detection module 196 may communicate with inference module 197 todetermine the user's position relative to an inclined path (e.g.,whether the user is at the top or bottom of the inclined path).

Inference module 197 is configured to infer a motion direction of amoving path or the user's position relative to an inclined path.Inference module 197 may communicate with path detection module 192,face detection module 193, context detection module 194, optical flowmodule 195, and inference module 197 to infer the motion direction ofthe moving path or the user's position relative to the inclined path.Based on data received from the various modules, the inference module197 may make a logical inference. It can be appreciated that data may bereceived by the inference module 197 from one more of the other modulesand the received data may be combined to make the inference. In someembodiments, augmented reality advertisements may be presented to theuser within camera 180 view of the mobile device 100 based on theinference. In some embodiments, handheld navigation directions may beprovided to the user instruction them with a direction to follow on themoving path or inclined path based on the inference.

In some embodiments, the mobile device 100 may be in communication witha content provider (not shown). The content provider may provideaugmented reality advertisements for the mobile device 100 to display tothe user. The selection of advertisements displayed may be based uponthe inference of motion direction of the moving path made by inferencemodule 197.

FIG. 2 illustrates augmented reality advertisements 210 placed along amoving path 220 within a camera view 200, in accordance with someembodiments. The camera view 200 may be captured by camera 180 (FIG. 1)and shown to a user, in real-time, on display 130. In this particularexample, the user may be standing in front of moving path 220 whilepointing mobile device 100 (FIG. 1) toward the moving path 220 in suchan orientation that camera 180 (FIG. 1) may capture the moving path 220.Further, in this example, the moving path 220 is an escalator.

Content providers of augmented reality advertisements may wish to haverelevant augmented reality advertisements display on the user's mobiledevice's 100 (FIG. 1) camera view 200 of the moving path 220. That is,the augmented reality advertisements should be appropriately placedbased on which direction the moving path is travelling. If a certainfeature to be advertised is available by travelling up the moving path220, that feature's advertisement should be properly placed indicatingto the user the proper path to take along the moving path 220.

Often times, moving path 220 information is not included in indoornavigation data and as such it is difficult to determine the directionof the moving path for proper placement of the advertisements,especially if the moving path is bi-directional. An escalator may beconsidered bi-directional because the operator of the escalator maychoose to reverse the travelling direction if they see fit, such aschanging direction based on daily usage traffic. Thus, the augmentedreality advertisements may need to be dynamically placed based on themotion direction of the moving path 220. For example, in the figure, afood court within a shopping mall is located a level above where theuser is currently standing and an apparel store is having a sale onjeans either at the floor the user is on or a floor below. As such,augmented reality advertisements 210 are placed indicating this to theuser. One advertisement indicates to the user, “Food Court 10% Discount”with a directional arrow superimposed on the moving path 220 within themobile device's 100 (FIG. 1) camera view 200.

Additionally, the use of a handheld indoor navigation application on themobile device 100 (FIG. 1) may require a correct determination of themotion direction of the moving path 220. Often times it is difficult todetermine motion direction of a moving path 220 based on viewing themoving path 220 alone in the camera view 200 of the mobile device 100(FIG. 1). Furthermore, it may also be difficult to estimate the user'slocation relative to the moving path 220 (e.g., at the top or bottom ofthe moving path) based on viewing the moving path 220 alone in thecamera view 200 of the mobile device 100 (FIG. 1).

The techniques described above may be used either alone or incombination to infer a motion direction of the moving path 220 or aposition of the user of the mobile device relative to an inclined path.Once the direction of the moving path 220 is determined, the augmentedreality advertisements from the content provider may be appropriatelysuperimposed on the moving path 220 within the mobile device's 100(FIG. 1) camera 180 (FIG. 1) view. The augmented reality advertisementsfrom the content provider may also be superimposed on an inclined pathbased on the position of the user relative to the inclined path. Forexample, if the user is determined to be at the top of an inclined path,relevant augmented reality advertisements may be placed for stores/itemslocated at the bottom of the inclined path. These techniques used formotion direction and user position detection include, but are notlimited to: face detection, context detection, optical flow or featurematching, and tilt detection.

Determination of Motion Direction of Moving Path

FIG. 3 illustrates inferring motion direction of a moving path 220 byusing face detection, in accordance with some embodiments. Facedetection technologies are well known in the art. As described above,moving path 220 (escalator) is within a camera view 200 of the user'smobile device 100 (FIG. 1). The camera view 200 of the moving path 220may be displayed to the user in real-time via the display 130 (FIG. 1)of the mobile device 100. Without person(s) 320 on the moving path, itmay be difficult to determine a motion direction of the moving path 220.However, when person(s) are travelling along the moving path 220, facedetection may be used to determine the motion direction of the movingpath 220.

As mentioned above, face detection module 193 (FIG. 1) is configured toidentify a person's face from an image within camera view 200 of themobile device 100 (FIG. 1). Face detection module 193 (FIG. 1) is ableto detect facial features from the image of the moving path 220 in thecamera view 200 and track identified face(s) of the persons(s) todetermine their motion direction along the moving path 220. Once themoving path 220 is identified by path detection module 192 (FIG. 1),face detection module 193 (FIG. 1) may perform the face detectionanalysis. In some embodiments, path detection module 192 (FIG. 1) mayalso be configured to identify lanes on the moving path 220. Forexample, path detection module 192 (FIG. 1) may identify lanes in theescalator. In this figure, there are two lanes travelling upward (to theright of the center of camera view 200) and two lanes travellingdownward (to the left of the center of camera view 200).

The face detection module 193 (FIG. 1) may detect that a lane of theescalator is moving toward the user by detecting face(s) 310 of theperson(s) 320 on travelling along the moving path 220. If multipleface(s) 310 are detected on a particular lane of the escalator, it maybe inferred that the particular lane of the escalator is travellingtoward the user. In this example, three face(s) 310 are detected in theleftmost lane and one face is detected in the second to left lane. Itcan be appreciated that the inference that the lane is travelling towardthe user may still be made if only one face 310 is detected along themoving path 220. The minimum number of face(s) 310 that needs to bedetected to make the inference that the lane is travelling toward theuser may be associated with a predetermined confidence level. Since mostperson(s) travel down an escalator facing the direction of travel, theinference that the lane is travelling toward the user based on thedetected face(s) 310 may be made with a relative amount of confidence.

If the face detection module 193 (FIG. 1) detects random motion in theimage within the camera view 200 of the mobile device 100 (FIG. 1), aninference may be made that the lane is travelling away from the user. Inthis example, no faces are detected in the rightmost lane and the secondto right lane. The minimum amount of random motion needed to be detectedto make the inference that the lane is travelling away from the user maybe associated with a predetermined confidence level. Since most peopletravel up an escalator facing the direction of travel, the inferencethat the lane is travelling away from the user based on the randommotion detected may be made with a relative amount of confidence.

In some embodiments, face detection module 193 (FIG. 1) may beconfigured to detect face(s) 310 over a period of time and determinewhether the faces are getting larger within the camera view 200. If thefaces are getting larger within the camera view 200, it can be inferredthat the lane of the moving path 220 is moving toward the user.

In some embodiments, face detection module 193 (FIG. 1) communicatesobtained face detection data to the inference module 197 (FIG. 1) forpurposes of making the inference of the motion direction of the movingpath 220.

FIG. 4 illustrates inferring motion direction of a moving path 220 byusing face detection from a side profile, in accordance with someembodiments. As described above, face detection module 193 (FIG. 1) isconfigured to identify a person's face from an image within camera view200 of the mobile device 100 (FIG. 1). Face detection module 193(FIG. 1) can also identify a side profile face 410 of a person(s). Bydetermining angle of the side profile face 410 of a person(s), themotion direction of a moving path 220 (e.g., escalator) may bedetermined.

Most people stand upright to the ground with their body perpendicular tothe ground plane and face upward when travelling upward and facedownward when travelling downward along the moving path 220. Thisassumption may be used in determining the top and bottom of the movingpath 220 and the motion direction of the moving path 220.

A person's side profile face 410 angled at a positive angle with respectto a horizon line 420 may indicate that the person is facing toward thetop of the moving path 220 and that the moving path 220 has a motiondirection travelling upward. A person's side profile face 410 angled ata negative angle with respect to a horizon line 420 may indicate thatthe person is facing toward the bottom of the moving path 220 and thatthe moving path 220 has a motion direction travelling downward. Forexample, in the figure, the two left person(s) have a side profile face410 angled at a positive angle with respect to horizon line 420 and arethus travelling upward toward the top of the moving path 220. The rightperson has a side profile face 410 angled at a negative angle withrespect to horizon line 420 and is thus travelling downward toward thebottom of the moving path 220.

It can be appreciated that the mobile device 100 may employ edgedetection techniques for determining the orientation of the moving path220. Edge detection techniques are well known in the art and aim atidentifying points within the image that have discontinuities. Forexample, edge detection techniques may be employed on the image withincamera view 200 of the mobile device 100 (FIG. 1) to determine edges ofthe moving path 220. The location of the detected edges may be furtherused to determine the orientation of the moving path 220 (escalator).Face detection module 193 (FIG. 1) may communicate this information toinference module 197 (FIG. 1).

FIG. 5 illustrates inferring motion direction of a moving path by usingoptical flow or feature tracking, in accordance with some embodiments.As described above, optical flow module 195 (FIG. 1) is configured toanalyze adjacent frames in continuous images (video) within camera view200 of the mobile device 100. Optical flow module 195 (FIG. 1) maycommunicate with inference module 197 (FIG. 1) to determine direction ofthe moving path based on the analyzed adjacent frames. For example, itmay be determined whether the moving path is moving in a directiontoward or away from the user of the mobile device 100 (FIG. 1).

Optical flow is the pattern of apparent motion of objects, surfaces, andedges in a visual scene caused by the relative motion between the camera180 (FIG. 1) and the scene. Optical flow techniques are well known inthe art. Assuming that the mobile device 100 (FIG. 1) is not moving, bytracking the movement of features within the camera view 200, aninference may be made regarding the motion of an object within thecamera view 200. For example, referring to the figure, the optical flowmodule 195 (FIG. 1) tracks an object 510 within the camera view 200 overfour frames. It can be appreciated that the object may be tracked overany number of frames. The object may be a person travelling along themoving path 220 or any other object such as something being held by aperson on the moving path 220 or a shopping cart, etc. Over eachsubsequent frame, the object 510 becomes larger and has a darkergradient. That is, the object 510 is smallest and lightest in the firstframe (frame 1) and is largest and darkest in the last frame (frame 4).The optical flow module 195 (FIG. 1) can detect the change in shadingand size of the object 510 over the frames and determine that the objectis getting closer to the viewpoint (camera) over subsequent frames.

This information may be communicated from optical flow module 195(FIG. 1) to inference module 197 (FIG. 1) and inference module 197(FIG. 1) may determine that the moving path 220 has a motion directiontoward the user holding the mobile device 100 (FIG. 1) since the object510 is becoming larger and darker over subsequent frames.

Determination of User's Position Relative to an Inclined Path

FIG. 6A illustrates inferring a position of a user relative to aninclined path 630 by using contextual information, in accordance withsome embodiments. As mentioned above, context detection module 194 isconfigured to analyze contextual information from an image within cameraview 200 of the mobile device 100. Context information may includepicture frames 640 or other objects along an inclined path 630 that maybe analyzed.

By analyzing the contextual information, a user's location relative tothe inclined path 630 may be determined (e.g., whether the user holdingthe mobile device is located at the top of the inclined path 630 or thebottom of the inclined path 630). Contextual information such asrectangular picture frames 640 located on a wall adjacent to theinclined path 630 may be analyzed to determine whether the mobile device100 is angled upward towards an upward inclined path 630 or towards adownward inclined path 630. The analysis may be performed by analyzingthe perspective transformation of the picture frames 640.

The perspective transformation of the picture frames 640 may be analyzedby determining the angle 620 between the picture frames 640 and ahorizon line 610 which is parallel to the edges of the inclined path.The angles 620 are angles measured between an imaginary line 650 that isconsidered to be vertical within camera view 200, such as the side of apicture frame 640. In an example using the side of a picture frame 640,the angle is measured between the side of the picture frame and thehorizon line 610 perpendicular to the inclined path 630. If the angles620 are greater than or equal to 90 degrees with respect to the horizonline 610, an inference may be made that the user is located at thebottom of the moving path 220. In this example, the picture frames 640adjacent to the escalator have an angle 620 greater than 90 degrees withrespect to the horizon line 610, leading the inference that the user islocated at the bottom of the escalator. In some embodiments, the anglemay also be the measured angle between the side of the picture frame andthe opposite side of the horizon line 610, that is 180 degrees minusangle 620. In that case, if the calculated angle is greater than orequal to 90 degrees, an inference may be made that the user at the topof the inclined path 630. If the calculated angle is less than 90degrees, an inference may be made that the user at the bottom of theinclined path 630. It can be appreciated that any object other than apicture frame may be used for determining the angle.

In some embodiments, the position of the user relative to the inclinedpath may be determined by creating an imaginary trapezoid using theimaginary vertical lines 650 on the left to the vertical lines 650 onthe right. If the bottom line of the trapezoid is smaller than the upperline of the trapezoid, an inference may be made that the user is at abottom position of the inclined path 630. If the bottom line of thetrapezoid is larger than the upper line of the trapezoid, an inferencemay be made that the user is at a top position of the inclined path 630.

It can be appreciated that the horizon line 610 may be near parallel tothe ground plane, and the camera plane may be near parallel to verticallines 650 and perpendicular to the ground plane in a typical real worldcoordinate system. Due to the projective transformation in the cameraview 200, when the user is at the bottom of the inclined path 630, thebottom corner of the picture frame 640 will be closer to the mobiledevice than the top corner of the picture frame 640. Accordingly, theangle 620 between vertical lines 650 and horizon line 610 tends to belarger than 90 degrees. When the user is on the top of the inclined path630 (see FIG. 6B), the opposite effect occurs. The top of the pictureframe 640 will be closer to the user than the bottom of the pictureframe 640, and therefore the angle 622 tends to be smaller than 90degrees.

It can be appreciated that the contextual information used fordetermining angles and ultimately inferring where the user is locatedcan be any object having edges placed adjacent to the inclined path 630.It can also be appreciated that using the context detection module 194to analyze contextual information may also be used to determine thelocation of a user with respect to an inclined path (e.g., a staircase).

Accordingly, as described above, based on the inference that the user islocated at the bottom of the inclined path 630, an augmented realityadvertisement or navigation directions may be displayed within cameraview 200 showing features that may be located at a level below theuser's current location.

FIG. 6B illustrates inferring a position of a user relative to aninclined path 630 by using contextual information, in accordance withsome embodiments. As mentioned above, context detection module 194 isconfigured to analyze contextual information from an image within cameraview 200 of the mobile device 100. Context information may includepicture frames 642 or other objects along an inclined path 630 that maybe analyzed.

As mentioned above, By analyzing the contextual information, a user'slocation relative to the inclined path 630 may be determined (e.g.,whether the user holding the mobile device is located at the top of themoving path 220 or the bottom of the inclined path 630). In contrastwith FIG. 6A, in FIG. 6B, it can be seen that the angles 622 between theside of the picture frame 642 and the horizon line 612 are less than 90degrees and as described above, an inference may be made that the useris located at the top of the inclined path 630. The picture frames 642adjacent to the escalator have an angle 622 less than 90 degrees withrespect to the horizon line 610.

Accordingly, as described above, based on the inference that the user islocated at the top of the inclined path 630, an augmented realityadvertisement or navigation directions may be displayed within cameraview 200 showing features that may be located at a level above theuser's current location.

FIG. 7 illustrates inferring a location of a user in relation to aninclined path 710 by using tilt detection, in accordance with someembodiments. In this case, the inclined path 710 is a staircase withincamera view 200 of the mobile device 100 (FIG. 1). As mentioned above,tilt detection module 196 (FIG. 1) is operable to determine a tilt angleof the mobile device 100 (FIG. 1). Tilt detection module 196 (FIG. 1)may receive movement and gravity data from accelerometer 170 (FIG. 1).The received data may be used to determine an angle at which the user isholding the mobile device 100. Tilt detection module 196 may communicatewith inference module 197 (FIG. 1) to determine the user's positionrelative to an inclined path (e.g., whether the user is at the top orbottom of the inclined path).

In this embodiment of the invention, it may be assumed that when a useris pointing his/her mobile device 100 (FIG. 1) at the inclined path 710,they are tilting the mobile device 100 (FIG. 1) backward to capture theinclined path 710 if they are the bottom of the inclined path 710.Similarly, the user is tilting the mobile device 100 (FIG. 1) forward tocapture the inclined path 710 if they are the top of the inclined path710.

In the figure, the camera view 200 of the mobile device 100 (FIG. 1)shows an inclined path 710 with stairs going upward to a higherelevation. The user 720 is positioned at the bottom of the inclined path710 (staircase). To capture an image of the inclined path 710 the user720 uses his/her mobile device's 100 rear-facing camera (not shown).Since the inclined path 710 is going upward, the user naturally tiltsthe mobile device 100 toward him or her, or backward with respect tohorizon line 730 in order to capture the inclined path 710 properly. Theaccelerometer 170 (FIG. 1) within the mobile device 100 communicatesmovement and gravity data to the tilt detection module 196 (FIG. 1). Thetilt detection module 196 (FIG. 1) determines that the user is tiltingthe mobile device 100 backward and communicates this information to theinference module 197 (FIG. 1). The inference module 197 (FIG. 1) makesthe inference that the user is located at the bottom of the inclinedpath 710.

FIG. 8 is an exemplary flowchart 800 describing a method for determininga direction of movement of a moving path. In block 802, at least oneimage of a moving path is captured. The image of the moving path may becaptured using an image capture device such as a camera on a mobiledevice. The moving path may be any conveyable path configured totransport a user (e.g., escalator, moving walkway, etc.). The mobiledevice may also include a depth sensor coupled the camera operable tocalculate depth information in the image captured by the camera.Further, the mobile device may include a path detection moduleconfigured to recognize the moving path within the captured image. Auser may point the mobile device at the moving path in order to capturethe image.

In block 804, at least one feature within the at least one image isanalyzed. In some embodiments, the feature includes a body part of aperson travelling on the moving path. The body part may be the person'sface, or any other body part. A face detection module within the mobiledevice may be configured to detect and analyze the person's face. Theperson's face may be detected and analyzed by capturing the image from afront view of the person's face or from a side profile view of theperson's face. Based on the detection of the person's face, the facedetection module may determine whether the person on the moving path istravelling toward or away from the user holding the mobile device.

In some embodiments, the feature within the images is tracked usingoptical flow techniques well known in the art. Movement of the featurewithin the images is tracked by tracking aspects of the feature such as,but not limited to, feature points, color clusters, shading, etc. Thismay be performed by an optical flow module within the mobile device. Thecaptured images may be continuous, for example, video of the moving pathcaptured by the camera. For example, a pixel or group of pixels part ofa person within the images may be tracked over a series of frames. Adetermination may be made by the optical flow module, based on thetracked feature, as to whether the object within the image is travellingtoward or away from the user using holding the mobile device.

In block 806, based on the analysis of the at least one feature, adirection of movement of the moving path is determined. An inferencemodule within the mobile device is configured to determine/make aninference about the direction of movement of the moving path. The pathdetection module, face detection module, and context detection modulemay all communicate with the inference module. The various modules maycommunicate information about analysis of the feature within the imageto the inference module. For example, the face detection module maycommunicate to the inference module information about face detectionwithin the image and whether the person on the moving path is travellingtoward or away from the user. In another example, the optical flowmodule may communicate to the inference module information about thetracked feature/object within the image and whether the feature/objectis travelling toward or away from the user. The inference module mayuser this information to make a determination/inference about the motiondirection of the moving path.

In some embodiments, an augmented reality advertisement may be displayedon a display of the mobile device showing a camera view of the movingpath. The placement and content of the advertisement is based on thedetermination about the motion direction of the moving path. Forexample, if a moving path is detected to be moving away from the user,the advertisement content may include advertisements for stores orvendors located in the direction of the moving path. Likewise, if themoving path is moving toward the user, advertisement content may includeadvertisements for stores or vendors located behind the user. In someembodiments, the determination of the user's position relative to aninclined path (FIG. 9) may be combined with the determination of thedirection of the moving path in order to appropriately place theadvertisement content. In some embodiments, the advertisement contentmay also be played audibly via a speaker within the mobile device.

In some embodiments, navigation directions may be displayed on thedisplay of the mobile device. The navigation directions may assist thevision impaired or be used for robot vision. The navigation directionsmay take into account the motion direction of the moving path in orderto provide proper navigation routes.

FIG. 9 is an exemplary flowchart 900 describing a method for determininga location of a user relative to an inclined path. In block 902, animage of an inclined path is captured. The image of the inclined pathmay be captured using an image capture device such as a camera on amobile device. The inclined path may be any conveyable path configuredto transport a user (e.g., escalator, moving walkway, etc.). The mobiledevice may also include a depth sensor coupled the camera operable tocalculate depth information in the image captured by the camera.Further, the mobile device may include a path detection moduleconfigured to recognize the inclined path within the captured image. Auser may point the mobile device at the inclined path in order tocapture the image.

In block 904, at least one feature within the image is analyzed. In someembodiments, the feature within the image is contextual information.Contextual information may be any information within the image that maybe detected and analyzed. For example, contextual information mayinclude, but is not limited to, hanging picture frames on a walladjacent to the moving path. The hanging picture frame may be analyzed,by a context detection module within the mobile device, against areference horizon line to calculate an angle between an edge of thepicture frame and the horizon line from the point of view of the camera.

In some embodiments, a tilt detection module is configured to detect atilt angle of the mobile device being held by the user. An accelerometerwithin the mobile device communicates with the tilt detection module andprovides gravity information. Based on the gravity information, the tiltdetection module can detect whether the user is tilting the mobiledevice forward or backward when capturing the image of the inclinedpath. A typical user tends to tilt the mobile device backward whencapturing the inclined path from the bottom of the inclined path andforward when capturing the inclined path from the top of the inclinedpath.

In block 906, based on the analysis of the at least one feature, adetermination is made whether the image was captured from a top positionrelative to the inclined path or a bottom position relative to theinclined path. In some embodiments, the inference module may determinewhether a user is located at the bottom or top of the inclined pathbased on the calculated angle communicated to the inference module bythe context detection module. If the calculated angle between an edge ofthe picture frame and the horizon line is greater than or equal to 90degrees, a determination/inference may be made that the user is at thebottom of the inclined path. Similarly, if the calculated angle betweenan edge of the picture frame and the horizon line is less than 90degrees, a determination/inference may be made that the user is at thetop of the inclined path.

In some embodiments, the inference module may determine whether a useris located at the bottom or top of the inclined path based on the tiltangle communicated to the inference module by the tilt detection module.If the mobile device is determined to be tilting forward, adetermination/inference that the user is at the top of the inclined pathis made. Similarly, if the mobile device is tilted backward, adetermination/inference that the user is at the bottom of the inclinedpath is made.

In some embodiments, an augmented reality advertisement may be displayedon a display of the mobile device showing a camera view of the inclinedpath. The placement and content of the advertisement is based on thedetermination of the user's location relative to the inclined path. Forexample, if the user is determined to be at the top of the inclinedpath, the advertisement content may include advertisements for stores orvendors below the user, e.g., down the inclined path. However, if theuser is determined to be at the bottom of the inclined path, theadvertisement content may include advertisements for stores or vendorsabove the user, e.g., up the inclined path. In some embodiments, theadvertisement content may also be played audibly via a speaker withinthe mobile device.

In some embodiments, navigation directions may be displayed on thedisplay of the mobile device. The navigation directions may assist thevision impaired or be used for robot vision. The navigation directionsmay take into account the motion direction of the inclined path in orderto provide proper navigation routes.

FIG. 10 illustrates an example of a computing system in which one ormore embodiments may be implemented. A computer system as illustrated inFIG. 10 may be incorporated as part of the above described computerizeddevice. For example, computer system 1000 can represent some of thecomponents of a television, a computing device, a server, a desktop, aworkstation, a control or interaction system in an automobile, a tablet,a netbook or any other suitable computing system. A computing device maybe any computing device with an image capture device or input sensoryunit and a user output device. An image capture device or input sensoryunit may be a camera device. A user output device may be a display unit.Examples of a computing device include but are not limited to video gameconsoles, tablets, smart phones and any other hand-held devices. FIG. 10provides a schematic illustration of one embodiment of a computer system1000 that can perform the methods provided by various other embodiments,as described herein, and/or can function as the host computer system, aremote kiosk/terminal, a point-of-sale device, a telephonic ornavigation or multimedia interface in an automobile, a computing device,a set-top box, a table computer and/or a computer system. FIG. 10 ismeant only to provide a generalized illustration of various components,any or all of which may be utilized as appropriate. FIG. 10, therefore,broadly illustrates how individual system elements may be implemented ina relatively separated or relatively more integrated manner. In someembodiments, computer system 1000 may be used to implement mobile device100 (FIG. 1) or a server computer of the content provider.

The computer system 1000 is shown comprising hardware elements that canbe electrically coupled via a bus 1002 (or may otherwise be incommunication, as appropriate). The hardware elements may include one ormore processors 1004, including without limitation one or moregeneral-purpose processors and/or one or more special-purpose processors(such as digital signal processing chips, graphics accelerationprocessors, and/or the like); one or more input devices 1008, which caninclude without limitation one or more cameras, sensors, a mouse, akeyboard, a microphone configured to detect ultrasound or other sounds,and/or the like; and one or more output devices 1010, which can includewithout limitation a display unit such as the device used in embodimentsof the invention, a printer and/or the like. Additional cameras 1020 maybe employed for detection of user's extremities and gestures. In someimplementations, input devices 1008 may include one or more sensors suchas infrared, depth, and/or ultrasound sensors.

In some implementations of the embodiments of the invention, variousinput devices 1008 and output devices 1010 may be embedded intointerfaces such as display devices, tables, floors, walls, and windowscreens. Furthermore, input devices 1008 and output devices 1010 coupledto the processors may form multi-dimensional tracking systems.

The computer system 1000 may further include (and/or be in communicationwith) one or more non-transitory storage devices 1006, which cancomprise, without limitation, local and/or network accessible storage,and/or can include, without limitation, a disk drive, a drive array, anoptical storage device, a solid-state storage device such as a randomaccess memory (“RAM”) and/or a read-only memory (“ROM”), which can beprogrammable, flash-updateable and/or the like. Such storage devices maybe configured to implement any appropriate data storage, includingwithout limitation, various file systems, database structures, and/orthe like.

The computer system 1000 might also include a communications subsystem1012, which can include without limitation a modem, a network card(wireless or wired), an infrared communication device, a wirelesscommunication device and/or chipset (such as a Bluetooth™ device, an802.11 device, a WiFi device, a WiMax device, cellular communicationfacilities, etc.), and/or the like. The communications subsystem 1012may permit data to be exchanged with a network, other computer systems,and/or any other devices described herein. In many embodiments, thecomputer system 1000 will further comprise a non-transitory workingmemory 1018, which can include a RAM or ROM device, as described above.

The computer system 1000 also can comprise software elements, shown asbeing currently located within the working memory 1018, including anoperating system 1014, device drivers, executable libraries, and/orother code, such as one or more application programs 1016, which maycomprise computer programs provided by various embodiments, and/or maybe designed to implement methods, and/or configure systems, provided byother embodiments, as described herein. Merely by way of example, one ormore procedures described with respect to the method(s) discussed abovemight be implemented as code and/or instructions executable by acomputer (and/or a processor within a computer); in an aspect, then,such code and/or instructions can be used to configure and/or adapt ageneral purpose computer (or other device) to perform one or moreoperations in accordance with the described methods.

A set of these instructions and/or code might be stored on acomputer-readable storage medium, such as the storage device(s) 1006described above. In some cases, the storage medium might be incorporatedwithin a computer system, such as computer system 1000. In otherembodiments, the storage medium might be separate from a computer system(e.g., a removable medium, such as a compact disc), and/or provided inan installation package, such that the storage medium can be used toprogram, configure and/or adapt a general purpose computer with theinstructions/code stored thereon. These instructions might take the formof executable code, which is executable by the computer system 1000and/or might take the form of source and/or installable code, which,upon compilation and/or installation on the computer system 1000 (e.g.,using any of a variety of generally available compilers, installationprograms, compression/decompression utilities, etc.) then takes the formof executable code.

Substantial variations may be made in accordance with specificrequirements. For example, customized hardware might also be used,and/or particular elements might be implemented in hardware, software(including portable software, such as applets, etc.), or both. Further,connection to other computing devices such as network input/outputdevices may be employed. In some embodiments, one or more elements ofthe computer system 1000 may be omitted or may be implemented separatefrom the illustrated system. For example, the processor 1004 and/orother elements may be implemented separate from the input device 1008.In one embodiment, the processor is configured to receive images fromone or more cameras that are separately implemented. In someembodiments, elements in addition to those illustrated in FIG. 10 may beincluded in the computer system 1000.

Some embodiments may employ a computer system (such as the computersystem 1000) to perform methods in accordance with the disclosure. Forexample, some or all of the procedures of the described methods may beperformed by the computer system 1000 in response to processor 1004executing one or more sequences of one or more instructions (which mightbe incorporated into the operating system 1014 and/or other code, suchas an application program 1016) contained in the working memory 1018.Such instructions may be read into the working memory 1018 from anothercomputer-readable medium, such as one or more of the storage device(s)1006. Merely by way of example, execution of the sequences ofinstructions contained in the working memory 1018 might cause theprocessor(s) 1004 to perform one or more procedures of the methodsdescribed herein.

The terms “machine-readable medium” and “computer-readable medium,” asused herein, refer to any medium that participates in providing datathat causes a machine to operate in a specific fashion. In someembodiments implemented using the computer system 1000, variouscomputer-readable media might be involved in providing instructions/codeto processor(s) 1004 for execution and/or might be used to store and/orcarry such instructions/code (e.g., as signals). In manyimplementations, a computer-readable medium is a physical and/ortangible storage medium. Such a medium may take many forms, includingbut not limited to, non-volatile media, volatile media, and transmissionmedia. Non-volatile media include, for example, optical and/or magneticdisks, such as the storage device(s) 1006. Volatile media include,without limitation, dynamic memory, such as the working memory 1018.Transmission media include, without limitation, coaxial cables, copperwire and fiber optics, including the wires that comprise the bus 1002,as well as the various components of the communications subsystem 1012(and/or the media by which the communications subsystem 1012 providescommunication with other devices). Hence, transmission media can alsotake the form of waves (including without limitation radio, acousticand/or light waves, such as those generated during radio-wave andinfrared data communications).

Common forms of physical and/or tangible computer-readable mediainclude, for example, a floppy disk, a flexible disk, hard disk,magnetic tape, or any other magnetic medium, a CD-ROM, any other opticalmedium, punchcards, papertape, any other physical medium with patternsof holes, a RAM, a PROM, EPROM, a FLASH-EPROM, any other memory chip orcartridge, a carrier wave as described hereinafter, or any other mediumfrom which a computer can read instructions and/or code.

Various forms of computer-readable media may be involved in carrying oneor more sequences of one or more instructions to the processor(s) 1004for execution. Merely by way of example, the instructions may initiallybe carried on a magnetic disk and/or optical disc of a remote computer.A remote computer might load the instructions into its dynamic memoryand send the instructions as signals over a transmission medium to bereceived and/or executed by the computer system 1000. These signals,which might be in the form of electromagnetic signals, acoustic signals,optical signals and/or the like, are all examples of carrier waves onwhich instructions can be encoded, in accordance with variousembodiments of the invention.

The communications subsystem 1012 (and/or components thereof) generallywill receive the signals, and the bus 1002 then might carry the signals(and/or the data, instructions, etc. carried by the signals) to theworking memory 1018, from which the processor(s) 1004 retrieves andexecutes the instructions. The instructions received by the workingmemory 1018 may optionally be stored on a non-transitory storage device1006 either before or after execution by the processor(s) 1004.

The methods, systems, and devices discussed above are examples. Variousembodiments may omit, substitute, or add various procedures orcomponents as appropriate. For instance, in alternative configurations,the methods described may be performed in an order different from thatdescribed, and/or various stages may be added, omitted, and/or combined.Also, features described with respect to certain embodiments may becombined in various other embodiments. Different aspects and elements ofthe embodiments may be combined in a similar manner. Also, technologyevolves and, thus, many of the elements are examples that do not limitthe scope of the disclosure to those specific examples.

Specific details are given in the description to provide a thoroughunderstanding of the embodiments. However, embodiments may be practicedwithout these specific details. For example, well-known circuits,processes, algorithms, structures, and techniques have been shownwithout unnecessary detail in order to avoid obscuring the embodiments.This description provides example embodiments only, and is not intendedto limit the scope, applicability, or configuration of the invention.Rather, the preceding description of the embodiments will provide thoseskilled in the art with an enabling description for implementingembodiments of the invention. Various changes may be made in thefunction and arrangement of elements without departing from the spiritand scope of the invention.

Also, some embodiments are described as processes depicted as flowdiagrams or block diagrams. Although each may describe the operations asa sequential process, many of the operations can be performed inparallel or concurrently. In addition, the order of the operations maybe rearranged. A process may have additional steps not included in thefigures. Furthermore, embodiments of the methods may be implemented byhardware, software, firmware, middleware, microcode, hardwaredescription languages, or any combination thereof. When implemented insoftware, firmware, middleware, or microcode, the program code or codesegments to perform the associated tasks may be stored in acomputer-readable medium such as a storage medium. Processors mayperform the associated tasks. Thus, in the description above, functionsor methods that are described as being performed by the computer systemmay be performed by a processor—for example, the processor1004—configured to perform the functions or methods. Further, suchfunctions or methods may be performed by a processor executinginstructions stored on one or more computer readable media.

Having described several embodiments, various modifications, alternativeconstructions, and equivalents may be used without departing from thespirit of the disclosure. For example, the above elements may merely bea component of a larger system, wherein other rules may take precedenceover or otherwise modify the application of the invention. Also, anumber of steps may be undertaken before, during, or after the aboveelements are considered. Accordingly, the above description does notlimit the scope of the disclosure.

Various examples have been described. These and other examples arewithin the scope of the following claims.

What is claimed is:
 1. A method for image-based status determination,comprising: capturing at least one image of a moving path; analyzing atleast one feature within the at least one image; based on analysis ofthe at least one feature, determining a direction of movement of themoving path.
 2. The method of claim 1 wherein the at least one featurecomprises a body part of a person on the moving path.
 3. The method ofclaim 1 wherein the at least one feature comprises an object adjacent tothe moving path.
 4. The method of claim 1 further comprising trackingand comparing the at least one feature between a plurality of theimages.
 5. The method of claim 1 further comprising displaying anadvertisement along the moving path within a representation of thecaptured image based on the determined direction of movement of themoving path.
 6. The method of claim 1 further comprising displayingnavigation directions on a mobile device based on the determineddirection of movement of the moving path.
 7. An apparatus forimage-based status determination, comprising: an image capture deviceconfigured to capture at least one image of a moving path; a processorcoupled to the image capture device; the processor configured to:analyze at least one feature within the at least one image; determine adirection of movement of the moving path based on analysis of the atleast one feature.
 8. The apparatus of claim 7 wherein the at least onefeature comprises a body part of a person on the moving path.
 9. Theapparatus of claim 7 wherein the at least one feature comprises anobject adjacent to the moving path.
 10. The apparatus of claim 7 whereinthe processor is further configured to track and compare the at leastone feature between a plurality of the images.
 11. The apparatus ofclaim 7 wherein the processor is further configured to display anadvertisement along the moving path within a representation of thecaptured image based on the determined direction of movement of themoving path.
 12. The apparatus of claim 7 wherein the processor isfurther configured to display navigation directions on a mobile devicebased on the determined direction of movement of the moving path.
 13. Anapparatus for image-based status determination, comprising: means forcapturing at least one image of a moving path; means for analyzing atleast one feature within the at least one image; means for, based onanalysis of the at least one feature, determining a direction ofmovement of the moving path.
 14. A processor-readable medium comprisingprocessor-readable instructions configured to cause a processor to:capture at least one image of a moving path; analyze at least onefeature within the at least one image; based on analysis of the at leastone feature, determine a direction of movement of the moving path.
 15. Amethod for image-based status determination, comprising: capturing animage of an inclined path; analyzing at least one feature within theimage; based on analysis of the at least one feature, determiningwhether the image was captured from a top position relative to theinclined path or bottom position relative to the inclined path.
 16. Themethod of claim 15 wherein the determining step comprises detecting anobject adjacent to the inclined path and determining an angle of theobject with respect to a horizon line.
 17. The method of claim 15further comprising determining a tilt angle of a device used to capturethe image, and wherein determination of whether the image was from a topposition or bottom position is further based on the tilt angle.
 18. Themethod of claim 15 further comprising displaying an advertisement alongthe inclined path within a representation of the captured image based onthe determined position from where the image was captured.
 19. Themethod of claim 15 further comprising displaying navigation directionson a mobile device based on the determined position from where the imagewas captured.
 20. An apparatus for image-based status determination,comprising: an image capture device configured to capture at least oneimage of an inclined path; a processor coupled to the image capturedevice; the processor configured to: analyze at least one feature withinthe image; and determine whether the image was captured from a topposition relative to the inclined path or bottom position relative tothe inclined path based on analysis of the at least one feature.
 21. Theapparatus of claim 20 wherein the determining step comprises detectingan object adjacent to the inclined path and determining an angle of theobject with respect to a horizon line.
 22. The apparatus of claim 20wherein the processor is further configured to determine a tilt angle ofa device used to capture the image, and wherein determination of whetherthe image was from a top position or bottom position is further based onthe tilt angle.
 23. The apparatus of claim 20 wherein the processor isfurther configured to display an advertisement along the inclined pathwithin a representation of the captured image based on the determinedposition from where the image was captured.
 24. The apparatus of claim20 wherein the processor is further configured to display navigationdirections on a mobile device based on the determined position fromwhere the image was captured.
 25. An apparatus for image-based statusdetermination, comprising: means for capturing an image of an inclinedpath; means for analyzing at least one feature within the image; meansfor, based on analysis of the at least one feature, determining whetherthe image was captured from a top position relative to the inclined pathor bottom position relative to the inclined path.
 26. Aprocessor-readable medium comprising processor-readable instructionsconfigured to cause a processor to: capture an image of an inclinedpath; analyze at least one feature within the image; based on analysisof the at least one feature, determine whether the image was capturedfrom a top position relative to the inclined path or bottom positionrelative to the inclined path.